<template>
  <div class="person">
    <h2>需求:水温达到60度,水位达到80cm</h2>
    <h2>当前水温为：{{ temp }}</h2>
    <h2>当前水位为：{{ height }}</h2>
    <button @click="changeTemp">水温+10</button>
    <button @click="changeHeight">水位+10</button>
  </div> 
</template>

<script lang="ts" setup name="Person">
  import { ref,reactive,watch, watchEffect} from 'vue'
  // 数据
  let temp = ref(10)
  let height = ref(0)
  // 方法
  function changeTemp(){
    temp.value +=10
  }
  function changeHeight(){
    height.value +=10
  }
  // 计算属性
  
  // 监视-watch实现，要明确指出监视的属性
  // const stopWatch = watch([temp,height],(Value)=>{
  //   console.log(Value);
  //   let [newTemp, newHeight] = Value  //获取最新水温和水位
  //   if(newTemp>=60 || newHeight>=80){
  //     console.log('给服务器发请求。。。');
  //   }
  // })
  // 监视-watchEffect实现，立即执行1次
  // 不用明确指出监视的属性（函数中用到哪些，就监视哪些）
  watchEffect(()=>{
    console.log('@');
    if(temp.value>=60 || height.value>=80){
      console.log('给服务器发请求。。。');
    }
  })
 
 
</script>

<style>
  .person{
    background-color: skyblue;
    box-shadow: 0 0 10px;
    border-radius: 10px;
    padding: 20px;
  }
  button{
    margin: 0 5px;
  }
  ul li{
    font-size: 20px;
  }
</style>